$.role={
    //数据表格
    dataform:function () {
      $("#"+$.role.paramer.table).datagrid({
            dataSource: {
                cols:[
                    {name: 'id', label: 'ID', width: 80,ignore:true},
                    {name: 'roledesc', label: '描述', width: 250},
                    {name: 'rolename', label: '角色代码', width: 200},
                    {name: 'createtime', label: '创建时间', width: 150},
                    {name: 'enable', label: '启用状态', width: 150}
                ],
                remote: function(params) {
                    return {
                        url: '/role/roleList',
                        type: 'GET',
                        dataType: 'json'
                    };
                }
            },
            states: {
                pager: {page: 1, recPerPage: 10},
                fixedLeftUntil: 1,    // 固定左侧第一列
            },
            checkbox:true,
            checkable: true,//选中行
            checkByClickRow: false,//选中行同时选中复选框
            sortable:true,//排序
            //showRowIndex:false,//是否显示序号
            hoverCell:true,//	是否显示单元格悬停效果	默认为 false	启用后，鼠标悬停在单元格上会高亮单元格。
            configs: {
                C2: {
                    className: 'text-right',
                    style: {
                        color: '#00b8d4',
                        backgroundColor: '#e0f7fa'
                    }
                },
                C0:{
                    className: 'text-width',
                },
                C5:{
                    valueOperator: {
                        getter: function(dataValue, cell, dataGrid) {
                            if(dataValue==1){
                                return "启用";
                            }else {
                                return "禁用"
                            }
                        }
                    }
                }
            }
            // ... 其他初始化选项
        });
    },
    //初始化方法
    load:function () {
        $.role.dataform();
    },
    //获取角色信息
    loadRole:function ($tableId) {
        var userId=$.ft.getItem($tableId);
        if($.ft.isNotEmpty(userId)){
            $.ajax({
                type: "POST",
                url:"/role/getRoleInfo",
                data:{id:userId},
                async: false,
                error: function(request) {
                    $vui.Loading("操作失败！",{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                },
                success: function(data) {
                    //接收后台返回的结果
                    if (data) {
                        if (data.state == 1) {
                            $.ft.reset($.role.paramer.formId);
                            $.ft.jsonInput(data.data,$.role.paramer.formId)
                            $('#mymodel').modal({
                                keyboard : false,
                                show     : true
                            })
                        }else {
                            $vui.Loading(data.msg,{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                        }
                    } else {
                        $vui.Loading("操作失败！",{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                    }
                },
            });
        }
    },
    //角色信息提交
    submitUser:function ($formId) {
        $.ft.submitForm($formId);
    },
    //删除角色信息
    delRole:function ($tableId) {
        var id = $.ft.selectedItems($tableId);
        var parmers=new Object();
        parmers.id=id;
        if($.ft.isNotEmpty(id)){
            if($.ft.isNotEmpty(id)){
                $.ft.confirmModel("确认删除吗？","/role/delRole",parmers,$tableId);
            }
        }
    },
    //分配角色
    distributionRole:function(){
        $("#"+$.role.paramer.authorizationTree).empty();
        //初始化树节点
        $.role.initZtree();
    },
    //初始化tree 分配菜单
    initSeting:function () {
        var setting = {
            view: {
                showTitle: true,//显示节点的 title 提示信息,请务必与 setting.data.key.title 同时使用。
            },
            check: {
                nocheckInherit: false,//当父节点设置 nocheck = true 时，设置子节点是否自动继承 nocheck = true
                enable: true, //分别表示 显示 / 不显示 复选框或单选框
                chkboxType: { "Y": "ps", "N": "s" },//Y 属性定义 checkbox 被勾选后的情况；N 属性定义 checkbox 取消勾选后的情况；"p" 表示操作会影响父级节点；"s" 表示操作会影响子级节点。
            },
            data: {
                simpleData: {
                    enable: true,////true / false 分别表示 使用 / 不使用 简单数据模式如果设置为 true，请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId，并且让数据满足父子关系。
                    idKey:"id",
                    pIdKey:"parentid",
                    rootPId:0
                },
                key: {
                    name: "title"
                }
            },
        };
        return setting;
    },
    //分配菜单 tree初始化
    initZtree:function () {
        var id=$.ft.getItem($.role.paramer.table);
        if($.ft.isNotEmpty(id)){
            //此地方要稍微注意下，考虑不将本身以及下级节点显示出来，怕选择错误，造成连环套
            $.get("/role/getRoleMenu?roleid="+id,
                function(zNodes){
                    //初始化数结构
                    var tree = $.fn.zTree.init($("#"+$.role.paramer.authorizationTree), $.role.initSeting(), zNodes);
                    //默认展开节点
                    tree.expandAll(true);
            });
            $.ft.openModal($.role.paramer.authorizationModelId);
        }
    },
    //保存角色菜单
    saveRoleMenu:function ($tree,$val) {
        var treeObj = $.fn.zTree.getZTreeObj($tree);
        var nodes = treeObj.getCheckedNodes(true);
        var array=$.ft.returnArray(nodes,"id");
        var id=$.ft.getItem($.role.paramer.table);
        if($.ft.isNotEmpty(array) && $.ft.isNotEmpty(id)){
            $.ajax({
                type: "POST",
                url: "/role/saveRoleMenu",
                data: {ids:array,roleid:id,type:$val},
                success: function(node){
                    if (node) {
                        if (node.state == 1) {
                            $vui.Loading(node.msg,{overlay:true,timeout:2,icon:"icon icon-check-circle-o"});
                        }else {
                            $vui.Loading(node.msg,{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                        }
                    } else {
                        $vui.Loading("操作失败！",{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                    }
                },
                error:function () {
                    $vui.Loading("操作失败，请稍候再试！",{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
                }
            });
        }else {
            $vui.Loading("角色或菜单不能为空！",{overlay:true,timeout:2,icon:"icon icon-remove-sign"});
        }

    },
    //分配权限
    permisRole:function () {
        $("#"+$.role.paramer.authorizationTree).empty();
        $("#title").empty();
        $("#title").append('<i class="icon icon-shield"></i>分配权限');
        //初始化树节点
        $.role.initPermisZtree();
    },
    //分配全权限 tree初始化
    initPermisZtree:function () {
        var id=$.ft.getItem($.role.paramer.table);
        if($.ft.isNotEmpty(id)){
            //此地方要稍微注意下，考虑不将本身以及下级节点显示出来，怕选择错误，造成连环套
            $.get("/role/getRolePermiss?roleid="+id,
                function(zNodes){
                    //初始化数结构
                    var tree = $.fn.zTree.init($("#"+$.role.paramer.authorizationTree), $.role.initSeting(), zNodes);
                    //默认展开节点
                    tree.expandAll(true);
            });
            $("#save").attr("onclick","$.role.saveRoleMenu('authorization',0);");
            $.ft.openModal($.role.paramer.authorizationModelId);
        }
    },
    //公共参数
    paramer:{
        //数据表格初始化容器
        table:"datagridExample",
        //表单id
        formId:"roleForm",
        //分配菜单tree所在元素id
        authorizationTree:"authorization",
        //分配菜单model的id
        authorizationModelId:"roleModel",

    }
}